﻿using System.Net.Http;

namespace Maltose.MicroService.SimpleClient
{
    /// <summary>
    /// 罚款代缴业务接口地址(现场单) 这个是网关
    /// </summary>
    public class FineHttpClient : UseMicroServiceClient
    {
        /// <summary>
        /// 罚款代缴业务接口地址(现场单) 这个是网关
        /// </summary>
        /// <param name="client"></param>
        public FineHttpClient(HttpClient client) : base(client)
        {
            SetCofing("Fine");
        }
    }

    /// <summary>
    /// 罚款代缴服务 这个是服务
    /// </summary>
    public class FineServiceHttpClient : UseMicroServiceClient
    {
        /// <summary>
        /// 罚款代缴服务 这个是服务
        /// </summary>
        /// <param name="client"></param>
        public FineServiceHttpClient(HttpClient client) : base(client)
        {
            SetCofing("FineService");
        }
    }

    /// <summary>
    /// 电子眼业务接口地址
    /// </summary>
    public class ViolationHttpClient : UseMicroServiceClient
    {
        /// <summary>
        /// 电子眼业务接口地址
        /// </summary>
        /// <param name="client"></param>
        public ViolationHttpClient(HttpClient client) : base(client)
        {
            SetCofing("Violation");
        }
    }

    /// <summary>
    /// 年审业务接口
    /// </summary>
    public class CarInspectionHttpClient : UseMicroServiceClient
    {
        /// <summary>
        /// 年审业务接口
        /// </summary>
        /// <param name="client"></param>
        public CarInspectionHttpClient(HttpClient client) : base(client)
        {
            SetCofing("CarInspection");
        }
    }


    /// <summary>
    /// 违章照片业务接口
    /// </summary>
    public class VioHttpClient : UseMicroServiceClient
    {
        /// <summary>
        /// 违章照片业务接口
        /// </summary>
        /// <param name="client"></param>
        public VioHttpClient(HttpClient client) : base(client)
        {
            SetCofing("VioPic");
        }
    }

    /// <summary>
    /// PC网站网关
    /// </summary>
    public class PcGatewayHttpClient : UseMicroServiceClient
    {
        /// <summary>
        /// PC网站网关
        /// </summary>
        /// <param name="client"></param>
        public PcGatewayHttpClient(HttpClient client) : base(client)
        {
            SetCofing("PcGateway");
        }
    }

    /// <summary>
    /// 进京证业务网关
    /// </summary>
    public class CertificateHttpClient : UseMicroServiceClient
    {
        /// <summary>
        /// 进京证业务网关
        /// </summary>
        /// <param name="client"></param>
        public CertificateHttpClient(HttpClient client) : base(client)
        {
            SetCofing("Certificate");
        }
    }


    /// <summary>
    /// 驾驶证查分基础服务，以及违章条数查询和报废查询服务
    /// </summary>
    public class DrivingBaseHttpClient : UseMicroServiceClient
    {
        /// <summary>
        /// 驾驶证查分基础服务，以及违章条数查询和报废查询服务
        /// </summary>
        /// <param name="client"></param>
        public DrivingBaseHttpClient(HttpClient client) : base(client)
        {
            SetCofing("Driving");
        }
    }


    /// <summary>
    /// 驾驶证查分及报废网关
    /// </summary>
    public class DscoreHttpClient : UseMicroServiceClient
    {
        /// <summary>
        /// 驾驶证查分及报废网关
        /// </summary>
        /// <param name="client"></param>
        public DscoreHttpClient(HttpClient client) : base(client)
        {
            SetCofing("Dscore");
        }
    }

    /// <summary>
    /// VIP网关
    /// </summary>
    public class VipHttpClient : UseMicroServiceClient
    {
        /// <summary>
        /// VIP网关
        /// </summary>
        /// <param name="client"></param>
        public VipHttpClient(HttpClient client) : base(client)
        {
            SetCofing("Vip");
        }
    }

    /// <summary>
    /// 消息中心网关
    /// </summary>
    public class NotificationHttpClient : UseMicroServiceClient
    {
        /// <summary>
        /// 消息中心网关
        /// </summary>
        /// <param name="client"></param>
        public NotificationHttpClient(HttpClient client) : base(client)
        {
            SetCofing("Notification");
        }
    }

    /// <summary>
    /// 证件套，挪车码实物网关
    /// </summary>
    public class EntityHttpClient : UseMicroServiceClient
    {
        /// <summary>
        /// 证件套，挪车码实物网关
        /// </summary>
        /// <param name="client"></param>
        public EntityHttpClient(HttpClient client) : base(client)
        {
            SetCofing("Entity");
        }

    }

    /// <summary>
    /// 广告网关
    /// </summary>
    public class AdvertHttpClient : UseMicroServiceClient
    {
        /// <summary>
        /// 广告网关
        /// </summary>
        /// <param name="client"></param>
        public AdvertHttpClient(HttpClient client) : base(client)
        {
            SetCofing("Advert");
        }
    }

    /// <summary>
    /// 活动网关
    /// </summary>
    public class ActivityHttpClient : UseMicroServiceClient
    {
        /// <summary>
        /// 活动网关
        /// </summary>
        /// <param name="client"></param>
        public ActivityHttpClient(HttpClient client) : base(client)
        {
            SetCofing("Activity");
        }
    }

    /// <summary>
    /// 用户中心
    /// </summary>
    public class UserCenterHttpClient : UseMicroServiceClient
    {
        /// <summary>
        /// 用户中心
        /// </summary>
        /// <param name="client"></param>
        public UserCenterHttpClient(HttpClient client) : base(client)
        {
            SetCofing("UserCenter");
        }
    }

    #region 阿里网关

    /// <summary>
    /// 阿里网关
    /// </summary>
    public class AlipayGatewayHttpClient : UseMicroServiceClient
    {
        /// <summary>
        /// 用户中心
        /// </summary>
        /// <param name="client"></param>
        public AlipayGatewayHttpClient(HttpClient client) : base(client)
        {
            SetCofing("AlipayGateway");
        }
    }

    #endregion

    #region 微信网关

    /// <summary>
    /// 微信网关
    /// </summary>
    public class WechatGatewayHttpClient : UseMicroServiceClient
    {
        /// <summary>
        /// 微信网关
        /// </summary>
        /// <param name="client"></param>
        public WechatGatewayHttpClient(HttpClient client) : base(client)
        {
            SetCofing("WechatGateway");
        }
    }

    #endregion

    #region 优惠券

    /// <summary>
    /// 优惠券
    /// </summary>
    public class CouponHttpClient : UseMicroServiceClient
    {
        /// <summary>
        /// 优惠券
        /// </summary>
        /// <param name="client"></param>
        public CouponHttpClient(HttpClient client) : base(client)
        {
            SetCofing("Coupon");
        }
    }

    #endregion

    #region 短信发送

    /// <summary>
    /// 短信发送
    /// </summary>
    public class SmsHttpClient : UseMicroServiceClient
    {
        /// <summary>
        /// 短信发送
        /// </summary>
        /// <param name="client"></param>
        public SmsHttpClient(HttpClient client) : base(client)
        {
            SetCofing("Sms");
        }
    }

    #endregion

    #region 订单中心

    /// <summary>
    /// 订单中心请求客户端
    /// </summary>
    public class OrderCenterHttpClient : UseMicroServiceClient
    {
        /// <summary>
        /// 订单中心请求客户端
        /// </summary>
        /// <param name="client"></param>
        public OrderCenterHttpClient(HttpClient client) : base(client)
        {
            SetCofing("OrderCenter");
        }
    }

    #endregion

    #region 支付请求客户端

    /// <summary>
    /// 支付请求客户端
    /// </summary>
    public class PaymentHttpClient : UseMicroServiceClient
    {
        /// <summary>
        /// 支付请求客户端
        /// </summary>
        /// <param name="client"></param>
        public PaymentHttpClient(HttpClient client) : base(client)
        {
            SetCofing("Payment");
        }
    }

    #endregion
}
